// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import PortalView from '../views/PortalView.vue';
import LoginView from '../views/LoginView.vue';
import RegisterView from '../views/RegisterView.vue';
import Layout from '../layout/layout.vue';
import TaskView from '../views/TaskView.vue';
import EventView from '../views/EventView.vue';
import OverviewView from '../views/OverviewView.vue';


const routes = [
  {
    path: '/',
    name: 'portal',
    component:PortalView 
  },
  {
    path: '/login',
    name: 'login',
    component:LoginView
  },
  {
    path: '/',
    name: 'register',
    component:RegisterView 
  },
  {
    path: '/TIS',
    name: 'layout',
    component:Layout,
    // 二级路由不需要加斜杠
    children:[
      {
        path:'overview',
        name:'overview',
        components:{
          secondary:OverviewView
        },
      },
      {
        path:'task',
        name:'task',
        // 组件输出为二级路由出口
        components:{
          secondary:TaskView
        }
      },
      {
        path:'event',
        name:'event',
        components:{
          secondary:EventView
        }
      }
    ]
  },
];


const router = createRouter({
    history: createWebHistory(import.meta.env.BASE_URL),
    routes
  });




//新增路由守卫，用于实现检查登录状态
// router.beforeEach((to, from, next) => {
//   // 检查即将进入的路由是否需要认证
//   if (to.matched.some(record =>record.meta.requiresAuth)) {
//     // 此路由需要认证，检查登录状态
//     if (!isLoggedIn()) { // 假设isLoggedIn是一个检查登录状态的函数
//       // 如果用户未登录，则重定向到登录页面
//       // 并将用户尝试访问的页面路径作为参数传递给登录页面
//       next({
//         path: '/login', // 指定跳转到登录页面的路径
//         query: { redirect: to.fullPath } // 传递当前尝试访问的页面路径
//       });
//     } else {
//       // 如果用户已登录，则直接放行，继续路由跳转
//       next();
//     }
//   } else {
//     // 如果路由不需要认证，则直接放行，继续路由跳转
//     next(); // 确保一定要调用next()以解析钩子
//   }
// })



export default router;